import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.StringSelection;
import java.awt.datatransfer.Transferable;
import java.awt.datatransfer.UnsupportedFlavorException;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.io.IOException;
import java.util.Timer;
import java.util.TimerTask;
import java.util.Vector;


import javax.swing.Box;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JTabbedPane;
import javax.swing.JTextField;
import javax.swing.JToolBar;
import javax.swing.border.EmptyBorder;
import javax.swing.border.LineBorder;



/**
 * contenu de la fenetre
 * @author jean-marie codol
 * 
 * probleme,
 * --------
 * ne fait qu'un seul copier collé,
 * après, ne met plus a jour quand on fais un copier.
 *
 */
public class Contenu extends JPanel {
    /**
	 * version non utilisable
	 */
	private static final long serialVersionUID = 1L;

	/*
	 * fenetre sur laquelle on fait le contenu
	 */
	private FenetrePrincipale f1 ;
	

	private JButton boutonRaccrocher;

	private JComboBox cb;

	private JButton boutonDecrocher;

	private JButton boutonPlusMoins;

	private JButton boutonToolbarCopier;

	private JButton boutonToolbarColler;

	private JButton boutonToolbarCouper;

	private JButton boutonToolbarAide;

	private JPanel pCentre;

	private int defautHauteur = 200 ;

	private JPanel pBas;

	private JLabel status;

	private JList listeContat;

	private Vector<Contact> vecteurContact;
	
	private int nombreDeClickSuccessifs = 0 ;
	private String ValeurDuPrecedantClick = "" ;
	private Timer timerDuDoubleClick = new Timer() ;
	
	/**
	 * le status de l utilisateur
	 */
	private int statusEnCours = Contenu.HORS_COMMUNICATION ;

	private JPanel pRepertoire;

	private static final int HORS_COMMUNICATION = 0;
	private static final int EN_COMMUNICATION = 1;
	
	/**
	 * Contructeur (Conteneur de tout les widgets)
	 * On pourra mettre ce Contenu dans la
	 * Fenetre par exemple .
	 *
	 */
	public Contenu  (final FenetrePrincipale f1) {
		
		// on r�cupere f1
		this.f1 = f1 ;
		
		
		// on a un BorderLayout
		this.setLayout(new BorderLayout()) ;
		
		
		JPanel toutSaufToolBar = new JPanel(new BorderLayout()) ;
		
		
		
		// le menuBar
		// on met le menubar ici
		JMenuBar jmb = new JMenuBar() ;
		this.f1.setJMenuBar(jmb) ;
		
		JMenu mFile = new JMenu("Fichier") ;
		jmb.add(mFile) ;
		
		JMenuItem jmiFermer = new JMenuItem("fermer") ;
		mFile.add(jmiFermer) ;
		jmiFermer.addMouseListener(new MouseListener() {

			public void mouseClicked(MouseEvent e) {
			}

			public void mouseEntered(MouseEvent e) {
			}

			public void mouseExited(MouseEvent e) {
			}

			public void mousePressed(MouseEvent e) {
				System.exit(0);
			}

			public void mouseReleased(MouseEvent e) {
			}}) ;
		
		JMenu mAide = new JMenu("Aide") ;
		jmb.add(mAide) ;
		
		mAide.add(new JMenuItem("A propos")) ;
		
		// ETC......

				
		////////////////////
		// le toolbar
		////////////////////

		JToolBar myToolbar = new JToolBar();
		
		boutonToolbarCouper = new JButton(new ImageIcon("images/couper.gif")) ;
		boutonToolbarCouper.setFocusable(false) ;
		boutonToolbarCouper.setBorder(new EmptyBorder(2,2,2,2)) ;
		boutonToolbarCouper.setToolTipText("couper s�lection") ;
		boutonToolbarCopier = new JButton(new ImageIcon("images/copier.gif")) ;
		boutonToolbarCopier.setFocusable(false) ;
		boutonToolbarCopier.setBorder(new EmptyBorder(2,2,2,2)) ;
		boutonToolbarCopier.setToolTipText("copier s�lection") ;
		boutonToolbarColler = new JButton(new ImageIcon("images/coller.gif")) ;
		boutonToolbarColler.setFocusable(false) ;
		boutonToolbarColler.setBorder(new EmptyBorder(2,2,2,2)) ;
		boutonToolbarColler.setToolTipText("coller s�lection") ;
		boutonToolbarAide = new JButton(new ImageIcon("images/aide.gif")) ;
		boutonToolbarAide.setFocusable(false) ;
		boutonToolbarAide.setBorder(new EmptyBorder(2,2,2,2)) ;
		boutonToolbarAide.setToolTipText("Rubrique d'Aide") ;
		
		myToolbar.add(boutonToolbarCouper) ;
		myToolbar.add(boutonToolbarCopier) ;
		myToolbar.add(boutonToolbarColler) ;
		myToolbar.add(boutonToolbarAide) ;
		
		
		
		
		////////////////////
		// le panneau du haut
		////////////////////
		Box b1 = Box.createHorizontalBox() ;

		
		////////////////////
		// raccrocher
		////////////////////
		boutonRaccrocher = new JButton("Raccrocher") ;
		boutonRaccrocher.setEnabled(false) ;
		b1.add(boutonRaccrocher) ;
		boutonRaccrocher.addMouseListener(new MouseListener() {

			public void mouseClicked(MouseEvent arg0) {
				actionRaccrocher() ;
			}

			public void mouseEntered(MouseEvent arg0) {
			}

			public void mouseExited(MouseEvent arg0) {
			}

			public void mousePressed(MouseEvent arg0) {
			}

			public void mouseReleased(MouseEvent arg0) {
			}}) ;
		
		
		////////////////////
		// un espace
		////////////////////
		b1.add(Box.createHorizontalStrut(20)) ;


		
		////////////////////
		// quelques choix
		////////////////////
		cb = new JComboBox() ;
		cb.setMaximumSize(new Dimension(50,100)) ;
		cb.setEditable(true) ;
		b1.add(cb) ;
		cb.getEditor().addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent arg0) {
				actionDecrocher((String) (cb.getEditor().getItem())) ;
			}}) ;

		
		
		////////////////////
		// les popups sur les choix
		////////////////////
		cb.getEditor().getEditorComponent().addMouseListener(new MouseListener() {

			private JPopupMenu popup2;

			public void mouseClicked(MouseEvent arg0) {
//				System.out.println("click sur cb");
				if (arg0.getButton()==MouseEvent.BUTTON3)
				{
					if (popup2!=null)
						popup2.setEnabled(false) ;
				    popup2 = new JPopupMenu();
				    JMenuItem mi0 = new JMenuItem("copier s�lection",new ImageIcon("images/copier.gif"));
				    popup2.add(mi0);
				    JMenuItem mi1 = new JMenuItem("coller s�lection",new ImageIcon("images/coller.gif"));
				    popup2.add(mi1);

				    

				    mi0.addMouseListener(new MouseListener() {

						public void mouseClicked(MouseEvent e) {
						}

						public void mouseEntered(MouseEvent e) {
						}

						public void mouseExited(MouseEvent e) {
						}

						

						public void mousePressed(MouseEvent e) {

							Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard() ;
							StringSelection ss = new StringSelection((String) cb.getEditor().getItem()) ;
							System.out.println("presse papier +"+(String) cb.getEditor().getItem()) ;
							clip.setContents(ss, null) ;
						}

						public void mouseReleased(MouseEvent e) {
						}}) ;				    
				    

				    // pour le collé
				    mi1.addMouseListener(new MouseListener() {

						public void mouseClicked(MouseEvent e) {
						}

						public void mouseEntered(MouseEvent e) {
						}

						public void mouseExited(MouseEvent e) {
						}

						
						public void mousePressed(MouseEvent e) {
							Transferable contenu = Toolkit.getDefaultToolkit().getSystemClipboard().getContents(null) ;
							contenu.isDataFlavorSupported(DataFlavor.stringFlavor) ;
							try {
								cb.addItem((String) contenu.getTransferData(DataFlavor.stringFlavor)) ;
								cb.setSelectedIndex(cb.getItemCount()-1) ;
							} catch (UnsupportedFlavorException e1) {
								JOptionPane.showMessageDialog(null, "UnsupportedFlavorException: pas de texte dans le presse papier", "erreur", JOptionPane.OK_OPTION) ;
							} catch (IOException e1) {
								JOptionPane.showMessageDialog(null, "IO Exception: pas de texte dans le presse papier", "erreur", JOptionPane.OK_OPTION) ;
							}
						}

						public void mouseReleased(MouseEvent e) {
						}}) ;

				    popup2.show(cb,arg0.getX(), arg0.getY()) ;
				    popup2.setVisible(true) ;
				}
			}

			public void mouseEntered(MouseEvent arg0) {
			}

			public void mouseExited(MouseEvent arg0) {
			}

			public void mousePressed(MouseEvent arg0) {
			}

			public void mouseReleased(MouseEvent arg0) {
			}}) ;
		
		
		


		////////////////////
		// un espace
		////////////////////
		b1.add(Box.createHorizontalStrut(20)) ;

		
		
		////////////////////
		// le bouton d�crocher
		////////////////////
		boutonDecrocher = new JButton("D�crocher") ;
		boutonDecrocher.setEnabled(true) ;
		b1.add(boutonDecrocher) ;
		boutonDecrocher.addMouseListener(new MouseListener () {

			public void mouseClicked(MouseEvent arg0) {
				// si on a un nom dans le choix .
				if ( ((String) (cb.getEditor().getItem()) ).equals("") )
				{
					actionDecrocher((String) listeContat.getSelectedValue()) ;
				// sinon
				}else{
					actionDecrocher((String) cb.getEditor().getItem()) ;
				}
			}

			public void mouseEntered(MouseEvent arg0) {
			}

			public void mouseExited(MouseEvent arg0) {
			}

			public void mousePressed(MouseEvent arg0) {
			}

			public void mouseReleased(MouseEvent arg0) {				
			}}) ;

		
		////////////////////
		// un espace
		////////////////////
		b1.add(Box.createHorizontalStrut(10)) ;

		////////////////////
		// un espace qui prend un espace maximum
		////////////////////
		b1.add(Box.createGlue()) ;
		

		
		

		////////////////////
		// le bouton +/- tout a droite (grace a la glue du haut)
		////////////////////
		boutonPlusMoins = new JButton("D�tails +/-") ;
		boutonPlusMoins.setEnabled(true) ;
		b1.add(boutonPlusMoins) ;
		boutonPlusMoins.addMouseListener(new MouseListener() {

			public void mouseClicked(MouseEvent arg0) {
				actionDeployer() ;
			}

			public void mouseEntered(MouseEvent arg0) {
			}

			public void mouseExited(MouseEvent arg0) {	
			}

			public void mousePressed(MouseEvent arg0) {
			}
			public void mouseReleased(MouseEvent arg0) {
			}}) ;
		

		////////////////////
		// une bordure autour de tout le panneau du haut
		////////////////////
		b1.setBorder(new LineBorder(this.getBackground(),15)) ;

		
		
		////////////////////
		// le centre
		////////////////////
		pCentre = new JPanel(new BorderLayout()) ;
		
		JTabbedPane jtp = new JTabbedPane() ;
		jtp.setPreferredSize(new Dimension(300,350)) ;
		
		pRepertoire = new JPanel(new BorderLayout()) ;
		jtp.add("R�pertoire", pRepertoire) ;
		
		JPanel p12 = new JPanel() ;
		jtp.add("Messagerie Vocale", p12) ;
		
		JPanel p13 = new JPanel() ;
		jtp.add("Configuration", p13) ;
		
		pCentre.add(new JPanel(),BorderLayout.NORTH) ;
		pCentre.add(jtp,BorderLayout.CENTER) ;
		
		////////////////////
		// repertoire
		////////////////////
		mettreAJourListeContact() ;

		
		
		
		////////////////////
		// le bas ( status bar)
		////////////////////
		pBas = new JPanel(new FlowLayout()) ;
		status = new JLabel("Hors connexion") ;
		LineBorder lb = new LineBorder(Color.GRAY,1) ;
		status.setBorder(lb) ;
		status.setFont(new Font(status.getFont().getFontName(),status.getFont().getStyle(),15)) ;
		status.setForeground(Color.DARK_GRAY) ;
		pBas.add(status) ;
		

		
		
		
		
		// on prepare les panneaux sauf tolbar
		toutSaufToolBar.add(b1,BorderLayout.NORTH) ;
		toutSaufToolBar.add(pCentre,BorderLayout.CENTER) ;
		
		// on ajoute sur this
		this.add(myToolbar,BorderLayout.NORTH) ;
		this.add(toutSaufToolBar,BorderLayout.CENTER) ;
		this.add(pBas,BorderLayout.SOUTH) ;
				
		
	}

	
	/*
	 * on a �ffectu� un click sur le tableau
	 */
	protected void effectuerUnClick() {

		
		// on peut faire plus simple avec getClickCount()==2 ....
		
		// dans 300 ms, on remettra le nombre de clicks a 0 ;
		timerDuDoubleClick.schedule(new TimerTask() {
			@Override
			public void run() {
				nombreDeClickSuccessifs=0 ;
			}}, 300) ;
		
		
		String valeur = ((String) listeContat.getSelectedValue()) ;
		// si pas de ligne selectionn�e:
		if (valeur==null)
			return ;
		
		if (ValeurDuPrecedantClick.equals(valeur))
		{
			nombreDeClickSuccessifs++ ;
			if (nombreDeClickSuccessifs>1)
			{
				nombreDeClickSuccessifs=0 ;
				actionDecrocher(valeur) ;
			}
		}else
		{
			ValeurDuPrecedantClick = valeur ;
			nombreDeClickSuccessifs=0 ;
		}
		
	}



	/**
	 * les actions a faire si on d�croche.
	 *
	 */
	public void actionDecrocher(String numeroAppele) {
				
		// on est d�jas en communication
		if (this.statusEnCours==Contenu.EN_COMMUNICATION)
			return ;
		// il n'y a pas de contact s�lectionn�
		// dans la table et dans le champ texte
		if ((cb.getEditor().getItem().equals("")) && (listeContat.getSelectedIndex()==-1))
			return ;

		// on ne connais pas le numero a appeller
		if (numeroAppele == null )
			return ;
		if (numeroAppele.equals(""))
			return ;
		// changements des boutons, ...
		statusEnCours = Contenu.EN_COMMUNICATION ;
		this.boutonDecrocher.setEnabled(false) ;
		this.boutonRaccrocher.setEnabled(true) ;
		
		// ajouter si il faut dans la combobox
		boolean dejasDansCombo = false ;
		String texteAAjouter = numeroAppele ;
		for (int i=0;i<this.cb.getItemCount();i++)
		{
			if (this.cb.getItemAt(i).equals(texteAAjouter))
				dejasDansCombo = true ;
		}
		if (!dejasDansCombo)
		{
			this.cb.addItem(texteAAjouter) ;
			this.cb.validate() ;
		}
		this.status.setText("En communication :"+numeroAppele) ;
		
	}
	
	

	public void actionRaccrocher() {
		// on est pas en communication
		if (!(this.statusEnCours==Contenu.EN_COMMUNICATION))
			return ;
		statusEnCours = Contenu.HORS_COMMUNICATION ;
		this.boutonDecrocher.setEnabled(true) ;
		this.boutonRaccrocher.setEnabled(false) ;
		this.status.setText("Hors communication") ;
	}

	
	
	/**
	 * dans cette action, on d�ploie ou on r�tracte la fanetre.
	 * si on r�tracte, on conserve la derniere hauteur,
	 * de maniere a pouvoir d�ployer intelligement .
	 *
	 */
	public void actionDeployer() {
		int largeur = this.f1.getSize().width ;
		int hauteur = this.defautHauteur  ;	
		if (this.pCentre.isVisible())
		{
			this.defautHauteur = this.f1.getSize().height ;
			this.pCentre.setVisible(false) ;
			this.f1.setSize(largeur, hauteur) ;
		}
		else{
			this.pCentre.setVisible(true) ;
			this.f1.setSize(largeur, this.defautHauteur) ;
			this.defautHauteur = 200 ;
		}
	}


	
	private void mettreAJourListeContact ()
	{
		if (vecteurContact==null)
			vecteurContact = new Vector<Contact> () ;
		Vector<String> vecteurString = new Vector<String> () ;
		for (Contact c : vecteurContact) {
			vecteurString.add(c.getNom()+" : "+c.getNumero()) ;
		}
		JList listeContat2 = new JList(vecteurString) ;
		if (listeContat!=null)
			pRepertoire.remove(listeContat) ;
		listeContat = listeContat2 ;
		pRepertoire.add(listeContat2,BorderLayout.CENTER) ;
		
		// autoriser le drag !
		listeContat.setDragEnabled(true);
		
		
		
		//////
		listeContat.addMouseListener(new MouseListener(){

			private JPopupMenu popup;

			public void mouseClicked(MouseEvent arg0) {
				effectuerUnClick () ;
			}

			public void mouseEntered(MouseEvent arg0) {
			}

			public void mouseExited(MouseEvent arg0) {			
			}

			public void mousePressed(MouseEvent arg0) {
				if (arg0.getButton()==MouseEvent.BUTTON3)
				{
					if (popup!=null)
						popup.setEnabled(false) ;
				    popup = new JPopupMenu();
				    JMenuItem mi0 = new JMenuItem("appeller un contact",new ImageIcon("images/call.gif"));
				    popup.add(mi0);
				    JMenuItem mi1 = new JMenuItem("ajouter un contact",new ImageIcon("images/add.png"));
				    popup.add(mi1);
				    JMenuItem mi2 = new JMenuItem("supprimer un contact",new ImageIcon("images/moins.png"));
				    popup.add(mi2);
				    JMenuItem mi3 = new JMenuItem("copier s�lection",new ImageIcon("images/copier.gif"));
				    popup.add(mi3);
				    JMenuItem mi4 = new JMenuItem("coller s�lection",new ImageIcon("images/coller.gif"));
				    popup.add(mi4);
				    mi0.addMouseListener(new MouseListener() {

						public void mouseClicked(MouseEvent e) {
						}

						public void mouseEntered(MouseEvent e) {
						}

						public void mouseExited(MouseEvent e) {
						}

						public void mousePressed(MouseEvent e) {
							actionDecrocher((String) listeContat.getSelectedValue()) ;
						}

						public void mouseReleased(MouseEvent e) {
						}}) ;
				    mi1.addMouseListener(new MouseListener() {

						public void mouseClicked(MouseEvent e) {
						}

						public void mouseEntered(MouseEvent e) {
						}

						public void mouseExited(MouseEvent e) {
						}

						public void mousePressed(MouseEvent e) {
							ajouterContactFenetre() ;
						}

						public void mouseReleased(MouseEvent e) {
						}}) ;
				    mi2.addMouseListener(new MouseListener() {

						public void mouseClicked(MouseEvent e) {
						}

						public void mouseEntered(MouseEvent e) {
						}

						public void mouseExited(MouseEvent e) {
						}

						public void mousePressed(MouseEvent e) {
							supprimerContactFenetre() ;
						}

						public void mouseReleased(MouseEvent e) {
						}}) ;
				    mi3.addMouseListener(new MouseListener() {

						public void mouseClicked(MouseEvent e) {
						}

						public void mouseEntered(MouseEvent e) {
						}

						public void mouseExited(MouseEvent e) {
						}


						public void mousePressed(MouseEvent e) {
//							JOptionPane.showMessageDialog(f1, "a faire : copier", "copier", JOptionPane.OK_OPTION) ;
							Clipboard cb = Toolkit.getDefaultToolkit().getSystemClipboard() ;
							StringSelection ss = new StringSelection((String) listeContat.getSelectedValue()) ;
							cb.setContents(ss, null) ;
						}

						public void mouseReleased(MouseEvent e) {
						}}) ;
				    mi4.addMouseListener(new MouseListener() {

						public void mouseClicked(MouseEvent e) {
						}

						public void mouseEntered(MouseEvent e) {
						}

						public void mouseExited(MouseEvent e) {
						}

						public void mousePressed(MouseEvent e) {
							//JOptionPane.showMessageDialog(f1, "a faire : coller", "coller", JOptionPane.OK_OPTION) ;
							
							Transferable contenu = Toolkit.getDefaultToolkit().getSystemClipboard().getContents(null) ;
							if (contenu.isDataFlavorSupported(DataFlavor.stringFlavor))
							{
								try {
									ajouterContact("inconnu",(String) contenu.getTransferData(DataFlavor.stringFlavor)) ;
								} catch (UnsupportedFlavorException e1) {
									JOptionPane.showMessageDialog(null, "UnsupportedFlavorException: pas de texte dans le presse papier", "erreur", JOptionPane.OK_OPTION) ;
								} catch (IOException e1) {
									JOptionPane.showMessageDialog(null, "IO Exception: pas de texte dans le presse papier", "erreur", JOptionPane.OK_OPTION) ;
								}
							}
						}

						public void mouseReleased(MouseEvent e) {
						}}) ;
				    popup.show(listeContat,arg0.getX(), arg0.getY()) ;
				    popup.setVisible(true) ;
				}
			}

			public void mouseReleased(MouseEvent arg0) {
			}}) ;

		
		
		pCentre.validate() ;
	}
	

	private void ajouterContact (String nom,String num)
	{
		ajouterContact(new Contact(nom,num)) ;
	}
	
	
	private void ajouterContact (Contact c)
	{
		if (vecteurContact==null)
			vecteurContact = new Vector<Contact> () ;
		// on verifie q'il y est pas dejas
		for (Contact c1 : vecteurContact) {
			if (c1.getNom().equals(c.getNom()))
			{
				System.out.println("le contact existe d�jas");
				return ;
			}
		}
		// on l'ajoute
		vecteurContact.add(c) ;
		mettreAJourListeContact() ;
	}
	
	
	

	private void supprimerContactFenetre() {
		if (JOptionPane.YES_OPTION==JOptionPane.showConfirmDialog(this,
	            "supprimer ???",
	            "supprimer le contact",
	            JOptionPane.YES_NO_OPTION))
			{
			Contact asupprimer = null ;
			for (Contact c1 : vecteurContact) {
				if (((String) c1.getNom()+" : "+c1.getNumero()).equals((String) listeContat.getSelectedValue()))
				{
					asupprimer = c1 ;
				}
			}
			vecteurContact.remove(asupprimer) ;
			mettreAJourListeContact() ;
			}
	}

	
	
	private void ajouterContactFenetre()
	{
		final JFrame fenetreAjouter = new JFrame ("ajouter un contact") ;
		fenetreAjouter.getContentPane().setLayout(new FlowLayout()) ;
		JPanel p = new JPanel(new GridLayout(0,2)) ;
		final JLabel textenomLabel = new JLabel("nom contact") ;
		final JLabel textenumLabel = new JLabel("num�ro") ;
		final JTextField textenom = new JTextField() ;
		final JTextField textenum = new JTextField() ;
		JButton valider = new JButton("valider") ;
		JButton annuler = new JButton("annuler") ;
		p.add(textenomLabel) ;
		p.add(textenom) ;
		p.add(textenumLabel) ;
		p.add(textenum) ;
		p.add(valider) ;
		p.add(annuler) ;
		fenetreAjouter.getContentPane().add(p) ;
		fenetreAjouter.pack() ;
		fenetreAjouter.setLocationRelativeTo(fenetreAjouter.getParent());
		fenetreAjouter.setVisible(true);
		fenetreAjouter.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE) ;
		valider.addMouseListener(new MouseListener() {

			public void mouseClicked(MouseEvent arg0) {
				if (textenom.getText().equals("") || textenum.getText().equals(""))
				{
					JOptionPane.showMessageDialog(fenetreAjouter, "les 2 champs sont n�c�ssaires", "�rreur", JOptionPane.OK_OPTION) ;
					return ;
				}
				ajouterContact(textenom.getText(), textenum.getText()) ;
				fenetreAjouter.dispose();
			}

			public void mouseEntered(MouseEvent arg0) {
			}

			public void mouseExited(MouseEvent arg0) {
			}

			public void mousePressed(MouseEvent arg0) {
			}

			public void mouseReleased(MouseEvent arg0) {
			}}) ;
			annuler.addMouseListener(new MouseListener() {

			public void mouseClicked(MouseEvent arg0) {
				fenetreAjouter.dispose();
			}

			public void mouseEntered(MouseEvent arg0) {
			}

			public void mouseExited(MouseEvent arg0) {
			}

			public void mousePressed(MouseEvent arg0) {
			}

			public void mouseReleased(MouseEvent arg0) {
			}}) ;
	}
	
	
	
}

